// Timer.h provides the attributes of the Timer class
//-----------------

#if !defined( TimerH)
#define TimerH

//-----------------
// Includes various libraries and files
#include <cassert>		// for asserts
#include <d3dx9.h>		// Direct 3D library (for all Direct 3D functions)
#include <sstream>

//-----------------

class Timer {
	public:
		// constructor and destructor
		Timer();
		~Timer();

		// accessors
		std::ostringstream get_time_current() const;
		std::ostringstream get_time_end() const;
		std::ostringstream get_time_formatted( const unsigned int& s) const;
		unsigned int get_time_in_seconds() const;

		// mutators
		void timer_start_new();
		void timer_start();
		void timer_stop();

	private:
		unsigned int start_time_;
		unsigned int time_in_microseconds_;
};

#endif